Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 2005 2004
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Troyes Challenger Pozoblanco Challenger Porto Challenger Zhangjiagang Challenger Todi Challenger Prague 3 Challenger Shanghai Challenger Guangzhou Challenger Shanghai Rolex Masters - Shanghai Shenzhen 1 Challenger Shenzhen 2 Challenger Sofia Open - Sofia Tenerife 1 Challenger Oeiras 2 Challenger Cherbourg Challenger Tenerife 2 Challenger Quimper Challenger Nottingham Challenger Barcelona Challenger M25 Quinta Do Lago M25 Badalona M25 Tarragona M25 Vale do Lobo Lyon Challenger M25 Mataro M25 Sabadell Francavilla Challenger Todi Challenger Troyes Challenger M25 Bourg-en-Bresse Spain F35 M25 Gandia M25 Denia Cordenons Challenger M25 Sabadell Tulln Challenger Sibiu Challenger M15 San Gregorio di Catania Madrid Challenger M25 Faro Hersonissos 1 Challenger Hersonissos 2 Challenger M25 Monastir M25 Gijon M15 Manacor M25 Vale do Lobo M15 Madrid Oeiras 1 Challenger Oeiras 2 Challenger Poznan Challenger Milan Challenger M25 Badalona Italy F23 M25 Sabadell M25 Vic M25 Oviedo Barletta Challenger Chisinau Challenger M25 Cordoba M25 Mataro M25 Villeneuve-Loubet Troyes Challenger Bunschoten Challenger Hagen Challenger Cordenons Challenger M25 Santander Seville Challenger M25 Sabadell Targu Mures 2 Challenger M25 Zaragoza Italy F6 Romania F17 Brazil F11 Colombia F5 Colombia F6 Chile F6 Chile F7 Italy F8 Italy F9 Brazil F2 Brazil F3 Brazil F4 Brazil F5 Brazil F6 Brazil F7 Brazil F8 Brazil F9 Brazil F10 Brazil F11 Brazil F13 Brazil F15 Brazil F16 Brazil F18 Italy F4 Italy F5 Italy F7 Italy F8 Italy F10 Italy F11 Brazil F3 Brazil F4 Italy F14 Brazil F5 Argentina F7 Argentina F9 Italy F26 Italy F25 Italy F28 Spain F37 Spain F38 Spain F39 Guatemala F1 Costa Rica F1 Panama F1 Italy F3 Italy F4 Italy F10 Tunisia F1 Tunisia F2 Tunisia F3 Italy F17 Georgia F1 Georgia F2 Italy F22 Italy F25 Italy F26 Italy F27 Turkey F13 Italy F7 Italy F12 Italy F13 Italy F14 Italy F17 Italy F19 Italy F20 Italy F22 Italy F23 Italy F25 Italy F26 Italy F27 Italy F28 Italy F29 Turkey F12 Turkey F13 Turkey F14 Turkey F15 Spain F40 Spain F4 Spain F5 Spain F6 Spain F7 Spain F8 Spain F9 Spain F10 Italy F7 Italy F13 Germany F9 Germany F10 Italy F24 Austria F8 Italy F26 Italy F30 Croatia F12 Croatia F13 Croatia F14 Turkey F32 Turkey F33 Turkey F34 Turkey F35 Egypt F2 Spain F5 Spain F6 Turkey F12 Turkey F13 Turkey F14 Spain F8 Spain F9 Spain F10 Spain F12 Spain F14 Turkey F24 Turkey F25 Turkey F41 Turkey F42 Turkey F47 Turkey F48 Turkey F49 Turkey F7 Turkey F8 Turkey F9 Turkey F10 Turkey F11 Turkey F12 Spain F10 Italy F6 Spain F13 Spain F15 Spain F4 Spain F5 Brazil F3 Italy F28 Lebanon F1 Brazil F9 Lebanon F2 Iran F1 Brazil F11 Iran F2 Brazil F12 Brazil F13 Brazil F14 Turkey F43 Turkey F44 Spain F1 Spain F2 Spain F3 Portugal F1 Romania F18 Chile F5 Spain F4 Tunisia F9 Tunisia F10 Tunisia F11 Argentina F8 Italy F20 Italy F23 France F23 Great Britain F10 Brazil F14 Switzerland F2 France F4 Romania F4 Italy F13 Italy F16 Czech Republic F4 France F13 Serbia F7 Portugal F12 Kazakhstan F1 (Aktobe) Kazakhstan F2 (Aktobe) Tunisia F9 (Hammamet) Italy F5 (Santa Margherita Di Pula) Italy F6 (Santa Margherita Di Pula) Italy F7 (Santa Margherita Di Pula) Egypt F1 Italy F28 (Trieste) Italy F33 (Santa Margherita Di Pula) Italy F34 (Santa Margherita Di Pula) Italy F35 (Santa Margherita Di Pula) Greece F8 (Heraklion) Spain F2 (Manacor (Mallorca)) Spain F3 (Paguera (Mallorca)) Italy F2 (Santa Margherita Di Pula) Italy F3 (Santa Margherita Di Pula) Italy F5 (Santa Margherita Di Pula) Spain F11 Italy F7 (Santa Margherita Di Pula) Spain F9 (Madrid) M15 Caslano M25 Pardubice M15 Bucharest Turkey F23 M25 Tulsa M15 Champaign M15 Weston M25 Bourg-en-Bresse M25 Santa Margherita di Pula Italy F11 Turkey F46 M25 Vic M25 Santa Margherita di Pula 13 BH Tennis Open International Cup - Belo Horizonte Nossa Caixa Tennis Cup - Sao Paulo Cyclus Open de Tenis - Florianopolis Credicard Mastercard Tennis Cup - Campos do Jordao BH Tennis Open International Cup - Belo Horizonte Unicredit (Suisse) Bank S.A. Challenger - Chiasso Roma Challenger 2007 - Rome Seguros Bolivar Open - Bogota Challenger ATP de Cuenca Diario El Mercurio - Cuenca BH Tennis Open - Belo Horizonte Credicard Citi Mastercard Tennis Cup 2007 - Campos do Jordao XIII Trofeo Ciudad de Quito - Quito Copa Petrobras Colombia - Bogota Copa Petrobras Brazil - Belo Horizonte Copa Petrobras Uruguay - Montevideo Copa Petrobras Paraguay - Asuncion Copa Petrobras Argentina - Buenos Aires Aberto de Sao Paulo - Sao Paulo ATP Challenger La Serena - La Serena Challenger de Providencia-Copa Kia - Santiago Bancolombia Open - Bogota III Aberto Santa Catarina de Tenis - Florianopolis Tunis Open - Tunis Morocco Tennis Tour - Rabat BNP Paribas Primrose - Bordeaux Unicredit Czech Open - Prostejov Ethias Trophy - Mons Copa Petrobras-Argentina - Buenos Aires Sunrise Challenger Napoli Challenger Prostejov Challenger Lugano Challenger Turin Challenger San Benedetto Challenger Rimini Challenger Recanati Challenger Todi Challenger Sao Paulo Challenger Napoli Challenger Rome Challenger Sao Paulo Challenger Orbetello Challenger Recanati Challenger Todi Challenger Ljubljana Challenger Napoli Challenger Sao Paulo Challenger Tour Finals Casablanca Challenger Braunschweig Challenger San Benedetto Challenger Recanati Challenger San Marino Challenger Cordenons Challenger Segovia Challenger Como Challenger Istanbul Challenger Izmir Challenger ATP Challenger Tour Finals Dallas Challenger Rome Challenger Furth Challenger Tanger Challenger Timisoara Challenger Scheveningen Challenger Tampere Challenger San Marino Challenger Meerbusch Challenger Como Challenger Brasov Challenger Seville Challenger Orleans Challenger Mons Challenger Tashkent Challenger Mouilleron-Le-Captif Challenger Buenos Aires Challenger Montevideo Challenger Casablanca Challenger Bogota Challenger Bergamo Challenger Panama City Challenger Barranquilla Challenger Ostrava Challenger Rome Challenger Vicenza Challenger Mestre Challenger Prague Challenger Campinas Challenger Marburg Challenger Braunschweig Challenger Todi Challenger Scheveningen Challenger Meerbusch Challenger Como Challenger Alphen Challenger Launceston Challenger Seville Challenger Meknes Challenger Orleans Challenger Kenitra Challenger Mons Challenger Zhangjiagang Challenger Rennes Challenger Casablanca Challenger Shymkent Challenger Irving Challenger Meerbusch Challenger Biella Challenger Rome Challenger Vicenza Challenger Furth Challenger Perugia Challenger Milan Challenger Marburg Challenger Cleveland Challenger Todi Challenger San Benedetto Challenger Oeiras 2 Challenger Todi Challenger Pozoblanco Challenger Prague Challenger Campinas Challenger Manerbio Challenger Como Challenger Genova Challenger Prague 2 Challenger Trnava Challenger Rome Challenger Biella 1 Challenger Mohammedia Challenger Rennes Challenger Forli 4 Challenger Gran Canaria 1 Challenger Zadar Challenger Ortisei Challenger Gran Canaria 2 Challenger Bangkok Challenger Manila Challenger Bergamo Challenger Porto Challenger Cherbourg Challenger Biella 3 Challenger Puebla Challenger Zug Challenger Guadalajara Challenger San Luis Potosi Challenger St. Brieuc Challenger M25 Montauban Barletta Challenger Santiago Challenger Ostrava Challenger Pau Challenger Oeiras 1 Challenger Caltanissetta Challenger Braunschweig Challenger Tampere Challenger Biella Challenger Prague Challenger Cortina Challenger Fano Challenger Cordenons Challenger Seville Challenger Sibiu Challenger Rome Challenger Valencia Challenger Casablanca Challenger Split 2 Challenger Mouilleron-Le-Captif Challenger Rome 1 Challenger Rome 2 Challenger Brescia Challenger Budapest Challenger Cherbourg Challenger Bergamo Challenger Irving Challenger Zagreb Challenger Barletta Challenger Francavilla Challenger Ostrava Challenger Alicante Challenger Rome Challenger Heilbronn Challenger Vicenza Challenger Prostejov Challenger Lyon Challenger Marburg Challenger Braunschweig Challenger Perugia Challenger San Benedetto Challenger Biella Challenger Portoroz Challenger Cordenons Challenger Banja Luka Challenger Sibiu Challenger Rome Challenger Porto 2 Challenger Dobrich 2 Challenger Santiago Challenger Lille Challenger San Luis Potosi Challenger Alicante Challenger Sarasota Challenger Tallahassee Challenger Ostrava Challenger Savannah Challenger Braga Challenger Lisbon Challenger Mestre Challenger Prostejov Challenger Rome Challenger Shymkent Challenger Blois Challenger Milan Challenger Marburg Challenger Recanati Challenger Braunschweig Challenger San Benedetto Challenger Prague Challenger Padova Challenger Sopot Challenger Cordenons Challenger Como Challenger Genova Challenger Seville Challenger Wimbledon - London Australian Open - Melbourne Szczecin Challenger Banja Luka Challenger Biella Challenger Florence Challenger Santo Domingo Challenger Barcelona Challenger Lima Challenger San Luis Potosi Challenger - San Luis Potosi Guayaquil Challenger Montevideo Challenger Buenos Aires Challenger Noumea Challenger Newport Beach Challenger Burnie Challenger Cleveland Challenger Dallas Challenger Bergamo Challenger Pau Challenger Zug Challenger Santiago Challenger Shenzhen Challenger Alicante Challenger Barletta Challenger Murcia Challenger Tunis Challenger Francavilla Challenger Aix En Provence Challenger Lisbon Challenger Vicenza Challenger Almaty Challenger Blois Challenger Recanati Challenger Perugia Challenger Nur-Sultan Challenger Amersfoort Challenger Prague Challenger Sopot Challenger Manerbio Challenger L'Aquila Challenger Como Challenger Genova Challenger Szczecin Challenger Florence Challenger Campinas Challenger Barcelona Challenger Las Vegas Challenger Lima Challenger Charlottesville Challenger Canberra Challenger Ann Arbor Challenger Newport Beach Challenger Burnie Challenger Dallas Challenger Launceston Challenger Bergamo Challenger Morelos Challenger Pau Challenger Monterrey Challenger Trieste Challenger Cordenons Challenger Prostejov Challenger Forli Challenger Barcelona Challenger Alicante Challenger Istanbul Challenger Marbella Challenger Bratislava Challenger Cary Challenger Orlando Challenger Sao Paulo Challenger Maia Challenger Istanbul Challenger Antalya Challenger Antalya 2 Challenger Marbella Challenger Orlando Challenger Tallahassee Challenger Ostrava Challenger Biella 5 Challenger Biella 7 Challenger Almaty 1 Challenger Almaty 2 Challenger Porto Challenger Perugia Challenger Amersfoort Challenger Todi Challenger Poznan Challenger Trieste Challenger Cordenons Challenger Liberec Challenger Verona Challenger Mallorca Challenger Seville Challenger Istanbul 2 Challenger Bucharest Challenger Lisbon Challenger Napoli Challenger Napoli 2 Challenger Tenerife Challenger Roanne Challenger Bendigo Challenger Forli 5 Challenger Gran Canaria Challenger Roseto Degli Abruzzi 1 Challenger Roseto Degli Abruzzi 2 Challenger Oeiras 1 Challenger Murcia Challenger Barletta Challenger Prague 1 Challenger Ostrava Challenger Prague 2 Challenger Vicenza Challenger Poznan Challenger Blois Challenger Oeiras 3 Challenger Troyes Challenger Braunschweig Challenger Amersfoort Challenger Pozoblanco Challenger Tampere Challenger Segovia Challenger Liberec Challenger San Marino Challenger Banja Luka Challenger Toulouse Challenger Seville Challenger Cassis Challenger Szczecin Challenger Istanbul Challenger Braga Challenger Ortisei Challenger Maspalomas Challenger Tenerife 1 Challenger Tenerife 2 Challenger Manama Challenger Bengaluru Challenger Pune Challenger Las Franquesas del Valles Challenger Girona Challenger Murcia Challenger Madrid Challenger Ostrava Challenger Aix En Provence Challenger Francavilla Challenger Vicenza Challenger Prostejov Challenger Perugia Challenger Poznan Challenger Oeiras 1 Challenger Salzburg Challenger Modena Challenger Maspalomas Challenger Pau Challenger Movistar Open - Vina del Mar Brasil Open - Costa do Sauipe Copa Telmex - Buenos Aires The Nottingham Open - Nottingham Indianapolis Tennis Championships - Indianapolis Pilot Pen Tennis - New Haven Thailand Open - Bangkok If Stockholm Open - Stockholm Heineken Open - Auckland Movistar Open - Vina del Mar Brasil Open - Costa do Sauipe Copa Telmex - Buenos Aires Abierto Mexicano Telcel - Acapulco Grand Prix Hassan II - Casablanca Open Sabadell Atlantico - Barcelona Interwetten Austrian Open - Kitzbuhel Allianz Suisse Open Gstaad - Gstaad Thailand Open - Bangkok AIG Japan Open Tennis Championships - Tokyo If Stockholm Open - Stockholm Brisbane International - Brisbane Heineken Open - Auckland Movistar Open - Santiago Brasil Open - Costa do Sauipe Abierto Mexicano Telcel - Acapulco Open Sabadell Atlantico - Barcelona Open de Nice Cote dAzur - Nice International German Open - Hamburg Allianz Suisse Open Gstaad - Gstaad Pilot Pen Tennis - New Haven China Open - Beijing If Stockholm Open - Stockholm Heineken Open - Auckland Movistar Open - Santiago Brasil Open - Costa do Sauipe Abierto Mexicano Telcel - Acapulco Open Sabadell Atlantico - Barcelona Estoril Open - Estoril AEGON Championships - London Farmers Classic - Los Angeles Legg Mason Tennis Classic - Washington China Open - Beijing Heineken Open - Auckland VTR Open - Vina del Mar Abierto Mexicano Telcel - Acapulco Open de Nice Cote d'Azur - Nice Mercedes Cup - Stuttgart Credit Agricole Suisse Open - Gstaad Winston-Salem Open - Winston-Salem Rakuten Japan Open - Tokyo Kremlin Cup - Moscow Swiss Indoors Basel - Basel Heineken Open - Auckland Brasil Open - Sao Paulo Copa Claro - Buenos Aires Abierto Mexicano Telcel - Acapulco Barcelona Open BancSabadell - Barcelona Mercedes Cup - Stuttgart Bet-at-home Open - Hamburg Credit Agricole Suisse Open - Gstaad Bet-at-home Cup - Kitzbuhel Valencia Open - Valencia Aircel Chennai Open - Chennai Open Sud de France - Montpellier Royal Guard Open Chile - Vina del Mar Copa Claro - Buenos Aires Brasil Open - Sao Paulo Rio Open 500 - Rio de Janeiro Open 13 - Marseille Brasil Open - Sao Paulo Grand Prix Hassan II - Casablanca Barcelona Open BancSabadell - Barcelona BRD Nastase Tiriac Trophy - Bucharest BMW Open - Munich Bet-at-home Open - Hamburg Credit Agricole Suisse Open - Gstaad Winston-Salem Open - Winston-Salem Erste Bank Open - Vienna Valencia Open - Valencia Heineken Open - Auckland Ecuador Open - Quito Brasil Open - Sao Paulo Rio Open - Rio de Janeiro Argentina Open - Buenos Aires Grand Prix Hassan II - Casablanca Barcelona Open BancSabadell - Barcelona BRD Nastase Tiriac Trophy - Bucharest TEB BNP Paribas Istanbul Open - Istanbul Geneva Open - Geneva Aegon Nottingham Open - Nottingham SkiStar Swedish Open - Bastad Credit Agricole Suisse Open - Gstaad Citi Open - Washington Winston-Salem Open - Winston-Salem China Open - Beijing Erste Bank Open - Vienna Valencia Open - Valencia Brisbane International - Brisbane Apia International - Sydney Ecuador Open - Quito Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona BRD Nastase Tiriac Trophy - Bucharest BMW Open - Munich Geneva Open - Geneva Aegon Nottingham Open - Nottingham Suisse Open - Gstaad Shenzhen Open - Shenzhen Kremlin Cup - Moscow Erste Bank Open - Vienna Qatar ExxonMobil Open - Doha Apia International - Sydney Ecuador Open - Quito Rio Open - Rio de Janeiro Brasil Open - Sao Paulo US Men's Clay Court Championship - Houston Barcelona Open BancSabadell - Barcelona BMW Open - Munich Geneva Open - Geneva AEGON International - Eastbourne Suisse Open - Gstaad Generali Open - Kitzbuhel Ecuador Open - Quito Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo US Men's Clay Court Championship - Houston Barcelona Open BancSabadell - Barcelona Winston-Salem Open - Winston-Salem Rio Open - Rio de Janeiro Millennium Estoril Open - Estoril Chile Dove Men+Care Open - Santiago Dubai Duty Free Tennis Championships - Dubai Gonet Geneva Open - Geneva Anytech365 Andalucia Open - Marbella Zhuhai Open - Zhuhai Tel Aviv Watergen Open - Tel Aviv Gijon Open - Gijon Tennis Napoli Open - Naples Rio Open - Rio de Janeiro Barcelona Open Banc Sabadell - Barcelona Delray Beach Open - Delray Beach Verona Challenger Brisbane - Brisbane Swiss Indoors Basel - Basel SkiStar Swedish Open - Bastad Rogers Masters - Toronto Western & Southern Financial Group Masters - Cincinnati BNP Paribas Open - Indian Wells Sony Ericsson Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL dItalia - Rome Shanghai - Shanghai BNP Paribas Open - Indian Wells Sony Ericsson Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL dItalia - Rome Mutua Madrilena Masters Madrid - Madrid Rogers Cup - Toronto Western & Southern Financial Group Masters - Cincinnati Shanghai ATP Masters 1000 - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Sony Ericsson Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrilena Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Montreal Western & Southern Financial Group Masters - Cincinnati Shanghai ATP Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Sony Ericsson Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrilena Madrid Open - Madrid Internazionali BNL d'Italia - Rome Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Monte-Carlo Rolex Masters - Monte-Carlo Rogers Cup - Montreal Western & Southern Open - Cincinnati Sony Open Tennis - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid BNP Paribas Open - Indian Wells Miami Open - Miami Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Montreal Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells Miami Open - Miami Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Miami Open - Miami U.S. Open - New York French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Australian Open Qualifying - Doha French Open - Paris U.S. Open - New York French Open - Paris Wimbledon - London French Open - Paris Davis Cup, World Group, PO, AUT-BRA 4-1 Davis Cup, Group 1, 2R, BRA-COL 4-1 Davis Cup, World Group, PO, CRO-BRA, 4-1 Davis Cup, Group 1, 2R, COL-BRA 1-4 Davis Cup, World Group, PO, BRA-ECU, 2-3 Davis Cup, World Group, PO, IND-BRA 3-2 Davis Cup, Group I, 2R, URU-BRA 0-5 Davis Cup, World Group, PO, RUS-BRA 3-2 Davis Cup, Group I, 2R, BRA-COL 3-1 Davis Cup, World Group, PO, BRA-RUS 5-0 Davis Cup, World Group, 1R, USA-BRA 3-2 Davis Cup, World Group, PO, GER-BRA 4-1 Davis Cup, World Group, PO, BRA-ESP 3-1 Davis Cup, World Group, 1R, ARG-BRA 3-2 Davis Cup, World Group, PO, BRA-CRO 1-3 Davis Cup, Group I, 2R, BRA-ECU 3-1 Davis Cup, World Group, PO, BEL-BRA 4-0 Davis Cup, Group I, 2R, ECU-BRA 0-5 French Open (juniors) Wimbledon (juniors) All Lower level tournaments Olympics - Beijing Olympics - London Olympics - Rio de Janeiro